#include "MaFenetreChat.h"

MaFenetreChat::MaFenetreChat(QTabWidget *parent, Client *client) : MaFenetre(parent)
{
    // On nomme la fenetre.
    setWindowTitle("Chat");

    // Mise à jour du bouton About.
    monBoutonPushAbout->setText("A propos de " + windowTitle());
    monBoutonPushAbout->setStatusTip("Donne des informations sur l'onglet " + windowTitle());

    // Mise à jour du bouton EXIT.
    monBoutonPushExit->setText("Fermer l'onglet " + windowTitle());
    monBoutonPushExit->setStatusTip("Ferme l'onglet " + windowTitle());
    monBoutonPushExit->setShortcut(QKeySequence("Ctrl+W"));

    // Création du bouton Envoyer.
    monBoutonPushEnvoyer = new MonBoutonPush("Envoyer", this, "/pic/envoyer.png");
    monBoutonPushEnvoyer->setToolTip("Envoyer le message");
    monBoutonPushEnvoyer->setStatusTip("Envoye le message en cours");
    monBoutonPushEnvoyer->setShortcut(QKeySequence("Return"));
    //TODO : connecter le bouton.
    connect(monBoutonPushEnvoyer, SIGNAL(clicked()), this, SLOT(envoyerATous()));

    // Création de la zone d'écriture message.
    message = new QLineEdit;
    message->setFocus();

    // Création du layout envoyer (rediger et envoyer message).
    layoutEnvoyer = new QHBoxLayout;
    layoutEnvoyer->addWidget(message);
    layoutEnvoyer->addWidget(monBoutonPushEnvoyer);

    // Création du layout principal (corps).
    layoutPrincipal = new QVBoxLayout;
    zoneText = new QTextEdit;
    zoneText->setReadOnly(true);
    layoutPrincipal->addWidget(zoneText);
    layoutPrincipal->addLayout(layoutEnvoyer);

    leLayout->addLayout(layoutPrincipal);
    leLayout->addItem(layoutBas);

    // ajout du client
    this->client = client;
}

void MaFenetreChat::focusEcriture()
{
    message->setFocus();
}

void MaFenetreChat::resetEcriture()
{
    message->clear();
}

void MaFenetreChat::envoyerATous()
{
    client->envoyerMessage(message->displayText());
    message->clear();
    message->setFocus();
}

void MaFenetreChat::recevoirEnvoyerATous(const QString &message)
{
    zoneText->append(message);
}
